package de.shb.signature.business;

import java.sql.ResultSet;
import java.sql.SQLException;

import de.shb.signature.dao.SignaturBean;

public interface SignaturBusinessClient {

	public SignaturBean createSignaturBean();

	public SignaturBean loadByPrimaryKey(Integer id) throws SQLException;

	public int deleteByPrimaryKey(Integer id) throws SQLException;

	public SignaturBean[] loadAll() throws SQLException;

	public SignaturBean[] loadAll(int startRow, int numRows)
			throws SQLException;

	public SignaturBean[] loadByWhere(String where) throws SQLException;

	public SignaturBean[] loadByWhere(String where, int[] fieldList)
			throws SQLException;

	public SignaturBean[] loadByWhere(String where, int[] fieldList,
			int startRow, int numRows) throws SQLException;

	public int deleteAll() throws SQLException;

	public int deleteByWhere(String where) throws SQLException;

	public SignaturBean save(SignaturBean pObject) throws SQLException;

	public SignaturBean[] save(SignaturBean[] pObjects) throws SQLException;

	public SignaturBean loadUniqueUsingTemplate(SignaturBean pObject)
			throws SQLException;

	public SignaturBean[] loadUsingTemplate(SignaturBean pObject)
			throws SQLException;

	public SignaturBean[] loadUsingTemplate(SignaturBean pObject, int startRow,
			int numRows) throws SQLException;

	public int deleteUsingTemplate(SignaturBean pObject) throws SQLException;

	public int countAll() throws SQLException;

	public int countWhere(String where) throws SQLException;

	public int countUsingTemplate(SignaturBean pObject) throws SQLException;

	public SignaturBean decodeRow(ResultSet rs) throws SQLException;

	public SignaturBean decodeRow(ResultSet rs, int[] fieldList)
			throws SQLException;

	// ////////////////////////////////////
	// PREPARED STATEMENT LOADER
	// ////////////////////////////////////
	/**
	 * public SignaturBean[] loadByPreparedStatement(PreparedStatement ps)
	 * throws SQLException;
	 * 
	 * public SignaturBean[] loadByPreparedStatement(PreparedStatement ps, int[]
	 * fieldList) throws SQLException;
	 * 
	 * public SignaturBean[] loadByPreparedStatement(PreparedStatement ps, int[]
	 * fieldList, int startRow, int numRows) throws SQLException;
	 * 
	 * // /////////////////////////////////////////////////////////////////////
	 * // LISTENER //
	 * /////////////////////////////////////////////////////////////////////
	 * 
	 * public void registerListener(InputListener listener);
	 * 
	 * void beforeInsert(SignaturBean pObject) throws SQLException;
	 * 
	 * void afterInsert(SignaturBean pObject) throws SQLException;
	 * 
	 * void beforeUpdate(SignaturBean pObject) throws SQLException;
	 * 
	 * void afterUpdate(SignaturBean pObject) throws SQLException;
	 * 
	 * Manager getManager();
	 * 
	 * void freeConnection(Connection c);
	 * 
	 * Connection getConnection() throws SQLException;
	 */
}